Many different types of data systems use data compression. Data compression involves encoding of information using fewer bits than the original representation. Data compression is useful because it helps reduce the usage of scarce resources, such as data storage space or transmission capacity. Data compression can be either lossless or lossy. In lossy data compression systems, such as video or audio compression, some loss of information is tolerable. In lossless data compression, however, all of the original information is preserved. Lossless compression is used in cases in which it is important that the original and the decompressed data be identical, or when deviations from the original data could be deleterious. Typical examples of lossless data compression are executable programs, text documents, and source code. Some image file formats, like PNG or GIF, use only lossless compression, while others like TIFF and MNG may use either lossless or lossy methods. Lossless audio formats are most often used for archiving or production purposes, while smaller lossy audio files are typically used on portable players and in other cases where storage space is limited or exact replication of the audio is unnecessary.
Because lossless compression requires exact replication of the original data, the way the data is encoded can affect the size of the circuitry required to decode the data to its original format and the speed at which the decompression takes place.
In the following description, the use of the same reference numerals in different drawings indicates similar or identical items. Unless otherwise noted, the word “coupled” and its associated verb forms include both direct connection and indirect connection by means known in the art, and unless otherwise noted any description of direct connection implies alternate embodiments using suitable forms of indirect connection as well.